package cn.siat.gene.domain.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.siat.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 方案信息VO
 * @Author: Administrator
 * @Date: 2022-10-22
 * @Version: V1.0
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "programmeVo对象", description = "方案信息")
public class ProgrammeVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 创建人
     */
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private String createStaffNo;
    /**
     * 创建日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**
     * 更新人
     */
    @Excel(name = "更新人", width = 15)
    @ApiModelProperty(value = "更新人")
    private String updateStaffNo;
    /**
     * 更新日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**
     * 方案名称
     */
    @Excel(name = "方案名称", width = 15)
    @ApiModelProperty(value = "方案名称")
    private String programmeName;
    /**
     * 方案编号
     */
    @Excel(name = "方案编号", width = 15)
    @ApiModelProperty(value = "方案编号")
    private String programmeNumber;
    /**
     * 方案状态 0 仅查看 1 可编辑
     */
    @Excel(name = "方案状态 0 仅查看 1 可编辑", width = 15)
    @ApiModelProperty(value = "方案状态 0 仅查看 1 可编辑")
    private Integer programmeState;
    /**
     * 方案状态标识
     */
    @Excel(name = "方案状态标识", width = 15)
    @ApiModelProperty(value = "方案状态标识")
    private String stateId;
    /**
     * 本地上传文件标识
     */
    @Excel(name = "本地上传文件标识", width = 15)
    @ApiModelProperty(value = "本地上传文件标识")
    private String localFileId;
    /**
     * 打包文件标识
     */
    @Excel(name = "打包文件标识", width = 15)
    @ApiModelProperty(value = "打包文件标识")
    private String packFileId;
    /**

     * 配置文件标识
     */
    @Excel(name = "配置文件标识", width = 15)
    @ApiModelProperty(value = "配置文件标识")
    private String configFileId;

    @Excel(name = "所属人", width = 15)
    @ApiModelProperty(value = "所属人")
    private String possessStaff;
    /**
     * 打包状态:0已打包；1未打包
     */
    @Excel(name = "打包状态:0已打包；1未打包", width = 15)
    @ApiModelProperty(value = "打包状态:0已打包；1未打包")
    private String packState;

    /**
     * 项目id
     */
    @Excel(name = "项目id", width = 15)
    @ApiModelProperty(value = "项目id")
    private String projectId;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private String projectName;

    /**
     * 创建人昵称
     */
    @Excel(name = "创建员工昵称", width = 15)
    @ApiModelProperty(value = "创建员工昵称")
    private String createStaffName;
    /**
     * 方案状态
     */
    @Excel(name = "方案状态", width = 15)
    @ApiModelProperty(value = "方案状态")
    private String programmeExamineState;
    /**
     * 最后浏览时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date viewedTime;
    private String sourceFileName;
    private String packFileName;

    private String packType;
}
